]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
power: Use the icon from the primary device for status
authorJasper St. Pierre <jstpierre@mecheye.net>
Thu, 10 Oct 2013 15:11:24 +0000 (11:11 -0400)
committerJasper St. Pierre <jstpierre@mecheye.net>
Fri, 11 Oct 2013 17:37:10 +0000 (13:37 -0400)
https://bugzilla.gnome.org/show_bug.cgi?id=709925

js/ui/status/power.js

index ec1e9ae4eb0cd9ce0b38ba905dec3a7ced835320..429db7a8f51865c8f00c68a5b42a19c176870af0 100644 (file)
@@ -86,38 +86,30 @@ const Indicator = new Lang.Class({
         return _("Estimating…");
     },
 
-    _syncStatusLabel: function() {
-        this._proxy.GetPrimaryDeviceRemote(Lang.bind(this, function(result, error) {
-            if (error) {
-                this._item.actor.hide();
-                return;
-            }
+    _sync: function() {
+        function isBattery(result) {
+            if (!result)
+                return false;
 
             let [device] = result;
-            let [device_id, device_type] = device;
-            if (device_type == UPower.DeviceKind.BATTERY) {
+            let [, deviceType] = device;
+            return (deviceType == UPower.DeviceKind.BATTERY);
+        }
+
+        this._proxy.GetPrimaryDeviceRemote(Lang.bind(this, function(result, error) {
+            if (isBattery(result)) {
+                let [device] = result;
+                let [,, icon] = device;
+                let gicon = Gio.icon_new_for_string(icon);
+                this._indicator.gicon = gicon;
+                this._item.icon.gicon = gicon;
                 this._item.status.text = this._statusForDevice(device);
                 this._item.actor.show();
             } else {
+                // If there's no battery, then we use the power icon.
+                this._indicator.icon_name = 'system-shutdown-symbolic';
                 this._item.actor.hide();
             }
         }));
     },
-
-    _syncIcon: function() {
-        let icon = this._proxy.Icon;
-        if (icon) {
-            let gicon = Gio.icon_new_for_string(icon);
-            this._indicator.gicon = gicon;
-            this._item.icon.gicon = gicon;
-        } else {
-            // If there's no battery, then we use the power icon.
-            this._indicator.icon_name = 'system-shutdown-symbolic';
-        }
-    },
-
-    _sync: function() {
-        this._syncIcon();
-        this._syncStatusLabel();
-    }
 });